#ifndef H_AUDIOOBJ
#define H_AUDIOOBJ

#include <iostream>
#include <string>
#include <vector>
#include <boost/thread/thread.hpp>
#include <boost/bind.hpp>

#include "sndfile.h"
#include "portaudio.h"


using namespace std;

//AudioObj is a wrap to audio data
class AudioObj{
    private:
        vector<float> data;
        SF_INFO sfi;
    public:
        void loadFile(string filename);
        void saveFile(string filename);
        void setData(vector<float> outdata);
        vector<float> getData();

        //Get data in range [m, m+n) FRAME
        int getData(vector<float> *tmp, int m, int n);

        int getFrames();
        int getSamplerate();
        int getChannels();
};

            
#endif
